unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, 
   Controls, Forms, Dialogs,StdCtrls;

type
  TForm1 = class(TForm)

    editFileName: TEdit;
    MemoEditor: TMemo;
    buttLoad: TButton;
    buttSave: TButton;

    Label1: TLabel;

    procedure buttLoadClick(Sender: TObject);
    procedure buttSaveClick(Sender: TObject);
    procedure MemoEditorChange(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject;
                                                         var CanClose: Boolean);
  private
     isModified:Boolean;    

    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.buttLoadClick(Sender: TObject);
begin
  MemoEditor.Lines.LoadFromFile(editFileName.Text);
  isModified:=False; 
end;

procedure TForm1.buttSaveClick(Sender: TObject);
begin
  if isModified then
        MemoEditor.Lines.SaveToFile(editFileName.Text);
end;

procedure TForm1.MemoEditorChange(Sender: TObject);
begin
     isModified:=True;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; 
                                                                var CanClose: Boolean);
begin
   if isModified then
     if MessageBox(handle,'Do you want to save File',
                               'Warning',MB_YESNO)=ID_YES then
      buttSaveClick(Sender);
end;

end.
